CoT(Chain of Thought)와 그 종류

Chain of Thought란?

google research에서 LLM에게 수학 문제를 주고 답을 구하게하였다. 이 때 LLM의 고등학교 수준의 문제 풀이 적확도는 1030% 정도 였다.
하지만, 유사한 문제의 해결 과정을 함께 제공할 경우 20
50%의 성능을 보였습니다.

CoT는 기존 프롬프팅에서 풀수 없던 문제를 CoT를 통해 올바른 정답을 유도하게 하는 방식입니다.

CoT 기법의 종류

1. Zero-shot CoT

Zero-shot CoT는 LLM이 CoT 형태의 답변을 출력하게끔 프롬프트에 유도성 문장을 삽입합니다.

예시

  • Let’s think step by step
  • Let’s make a step-by-step plan and implement it with good notion and explanation
  • Break down the problem into smaller, more manageable parts, and address each step-by-step.

2. Manual CoT

Manual CoT는 프롬프트에 직접 풀이 과정에 대한 가이드라인을 제시해주는 방식이다. 해당 문제의풀이 과정 및 결과를 제시한 후 CoT를 유도해 효과를 얻는 방법이다.

3. Role-play Prompting

LLM에게 역할을 부여하여 전문성을 요구하는 방식이다. 가장 일반적으로 LLM의 성능을 높이는 방법이며, 보다 전문적인 대답을 받기 좋은 방법이다.

4. Rephrase and Respond

LLM에게 질문을 자신에게 친숙한 언어로 재작성하게 한 뒤 응답을 요구하는 방식이다. Zero-shot CoㅅT 상황에서 모호성을 줄이기 위한 방법이다.

사람이 작성하는 질문은 배경 상황 혹은 명확성이 떨어지는 경우가 있다. 따라서 LLM에게 직접 질문을 재작성하게 만들어 LLM의 대답과 질문의 명확성을 높이는 좋은 방법이다.

5. Self-Discover

LLM에게 문제 풀이 전략의 선택지를 주고 이를 활용하게 하는 방법이다.

  1. Let’s think step by step을 포함한 39가지의 해결 전략을 프롬프트로 제시한 후 어떤 해결 전략을 선택해 문제를 해결할 것인지 묻는다.
  2. LLM이 선택한 전략을 문제에 구체화하게 프롬프트를 작성한다.
  3. 구체화된 전략을 실행하게 요청해, 단계별 실행 결과와 최종 결과를 달성.